#ifndef PPMIMAGELOADER_HPP
#define PPMIMAGELOADER_HPP

//------------------------------------------------------------------------------
// Fichier d'entête utilisés
//------------------------------------------------------------------------------
#include "ImageLoader.hpp"


namespace ImageAnalysis
{
//----------------------------------------------------------------------
// Cette classe permet de charger en mémoire des images de 
// type PPM à partir de leur chemin.
//----------------------------------------------------------------------
class PPMImageLoader : public ImageLoader
{
public:
        //----------------------------------------------------------------------
        // Structure
        //----------------------------------------------------------------------

        //----------------------------------------------------------------------
        // Constructeur
        //----------------------------------------------------------------------
        PPMImageLoader( );

        //----------------------------------------------------------------------
        // Destructeur
        //----------------------------------------------------------------------
        virtual ~PPMImageLoader();

        //----------------------------------------------------------------------
        // Permet de charger l'image en mémoire.
        //----------------------------------------------------------------------
        virtual Image* LoadImage( const char * filename );


private:
        //----------------------------------------------------------------------
        // Constructeur par copie et oprérateur d'affectation en privée pour
        // interdire leur utilisation
        //----------------------------------------------------------------------
        PPMImageLoader( const PPMImageLoader& copy);
        PPMImageLoader& operator=( const PPMImageLoader& copy );
};

}

#endif //PPMIMAGELOADER_HPP
